package com.h3c.ptability.service;

import com.h3c.ptability.dto.PtTodoTaskDTO;
import com.h3c.ptability.entity.PtTodoTask;
import com.h3c.ptability.entity.PtTodoTask;

import java.util.List;

/**
 * Copyright (C), 2020-2020, h3c
 * FileName: IPtTodoTaskService
 *
 * @Author: l22886
 * @Date: 2022-03-14
 * Description: pt_todo_task service
 * Version: 1.0
 */
public interface IPtTodoTaskService {

    /**
     * @title: selectFuzzyByDto
     * @description: 模糊查询操作
     * @params: [ dto ]
     * @return: java.util.List
     * @createTime: 2022-03-14
     * @version: 1.0
     * @author: l22886
     */
    public List<PtTodoTaskDTO> selectFuzzyByDto(PtTodoTaskDTO dto);

    /**
     * @title: selectByDto
     * @description: 精确查询操作
     * @params: [ dto ]
     * @return: java.util.List
     * @createTime: 2022-03-14
     * @version: 1.0
     * @author: l22886
     */
    public List<PtTodoTaskDTO> selectByDto(PtTodoTaskDTO dto);

    /**
     * @title: insertDto
     * @description: 插入操作
     * @params: [ dto ]
     * @return: Integer
     * @createTime: 2022-03-14
     * @version: 1.0
     * @author: l22886
     */
    public Integer insertDto(PtTodoTaskDTO dto);

    /**
     * @title: updateDto
     * @description: 修改操作
     * @params: [ dto ]
     * @return: Integer
     * @createTime: 2022-03-14
     * @version: 1.0
     * @author: l22886
     */
    public Integer updateDto(PtTodoTaskDTO dto);

    /**
     * @title: deleteDto
     * @description: 删除操作
     * @params: [ dto ]
     * @return: Integer
     * @createTime: 2022-03-14
     * @version: 1.0
     * @author: l22886
     */
    public Integer deleteDto(PtTodoTaskDTO dto);

    /**
     * 新建或更新待办信息 并发送待办
     * @param ptTodoTaskDTO 待办信息
     * @return true|false
     */
    Boolean initOrUpdateTodoTask(PtTodoTaskDTO ptTodoTaskDTO);

    PtTodoTask getTodoTaskTwo(PtTodoTask todoTask);

    void sendTodoTaskNew(PtTodoTask dto);

    void sendTodoTaskNewWithPw(PtTodoTaskDTO dto);

    void addOrUpdateTodoTask(PtTodoTask todoTask);

}
